🎠
[Python] max함수와 선택인자(key, default)
March 31, 2023
😍 출처
😉 max 함수란?
파이썬의 내장 함수로, 가장 큰 항목이나 두 개 이상의 인자 중 가장 큰 것을 돌려주는 함수이다.
- 가장 큰 항목을 돌려주는 경우
>> max([1, 2, 3, 4, 5])
5
- 두 개 이상의 인자 중 가장 큰 것을 돌려주는 경우
>> max(3, 4, 5)
5
😘 max 함수의 선택적 키워드 전용 인자(key, default)
key
인자
최대 값을 구하는 기준을 key 값에 설정할 수 있다.
>> a = [(0, 50), (1, 30), (2, 40), (3, 10)]
# 그냥 max를 사용하면 첫 번째 인자가 기준
>> max(a)
(3, 10)
# lambda식을 사용하면 두 번째 인자가 기준
>> max(key = lambda x : x[1])
(0, 50)
# lambda식을 사용하여 첫 번째 인자를 기준
>> max(key = lambda x : x[0])
(3, 10)
위의 코드와 같이 기존의 max 함수는 배열의 첫 번째 인자가 기준이 된다.
이때 lambda 식을 key 값에 적용하면 다양한 순서의 인자를 기준으로 할 수 있다.
이외에도, 길이를 기준으로 최대 값을 구할 수도 있다.
>> a = [[1, 2, 3], [1, 2, 3, 4, 5, 6, 7], [3], [7, 5, 3, 1, 2]]
>> max(a, key = len)
[1, 2, 3, 4, 5, 6, 7]
default
인자
max함수에 빈 배열을 넣고 배열 중 가장 큰 값을 찾아 달라고 하면 오류가 발생한다. 이러한 오류의 예외처리를 위해 default
인자가 필요하다.
## max 안에 빈 배열만 넣었을 경우
>> a = []
>> print(max(a))
Traceback (most recent call last):
ValueError: max() arg is an empty sequence
## default 인자를 넣었을 경우
>> print(max(a, default = 'error'))
error